%{
#include <stdio.h>
#include "logic.tab.h"`

#define YYSTYPE char* 



%}

delim   [\t]
ws      {delim}+
D       [0-9] 
L       [a-zA-Z_] 
H       [a-fA-F0-9] 



%%
{ws} {}
{L}({L}|{D})*	{ yylval = strdup(yytext);  return ID;}
{D}+            { yylval = strdup(yytext);  return CONSTANT; } 
{D}*"."{D}+  { yylval = strdup(yytext); return CONSTANT; } 
{D}+"."{D}*  { yylval = strdup(yytext); return CONSTANT; } 

"("                     {   return('('); } 
")"                     {   return(')'); } 
("["|"<:")              {   return('['); } 
("]"|":>")              {   return(']'); } 


" " { }
"-"                     {  return('-'); } 
"+"                     {  return('+'); } 
"*"                     {  return('*'); } 
"/"                     {  return('/'); } 
"%"                     {  return('%'); } 
"!"                     {  return('!'); } 

"&&"                    {   return(AND_OP); } 
"||"                    {   return(OR_OP); } 
"<="                    {   return(LE_OP); } 
">="                    {   return(GE_OP); } 
"=="                    {   return(EQ_OP); } 
"!="                    {   return(NE_OP); } 
"<"                     {   return('<'); } 
">"                     {   return('>'); } 
 


\n  {	return NL;}
%%

